<?php
namespace cms\modules\common\models;

use common\models\Status;
use yii\web\IdentityInterface;

/**
 * UserBackend model，这是user组件在后台认证的类
 * 集成了IdentityInterface这个认证接口（抽象类），注意：要实现抽象类中的所有方法
 *
 */
class Login extends Common implements IdentityInterface
{
    protected $accessToken;
    /**
     * {@inheritdoc}
     */

    //=====================  覆盖接口方法（5个） 开始 ================================
    /**
     * {@inheritdoc}
     */
    public static function findIdentity($id)
    {
        return static::findOne(['id' => $id, 'status' => Status::COMMON_STATUS_SHOW]);
    }

    /**
     * {@inheritdoc}
     */
    public static function findIdentityByAccessToken($token, $type = null)
    {

        return static::findOne(['access_token' => $token, 'status' => Status::COMMON_STATUS_SHOW]);
    }

    /**
     * {@inheritdoc}
     */
    public function getId()
    {
        return $this->getPrimaryKey();
    }

    /**
     * {@inheritdoc}
     */
    public function getAuthKey()
    {
        return $this->accessToken;
    }

    /**
     * {@inheritdoc}
     */
    public function validateAuthKey($authKey)
    {
        return $this->getAuthKey() === $authKey;
    }

    //=====================  覆盖接口方法（5个） 结束 ================================

}
